home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr45 / pixelv10.zip / PIXELV1.BAS < prev    next >
BASIC Source File  |  1994-10-17  |  11KB  |  210 lines

  1. DECLARE SUB whereBegin ()
  2. DECLARE SUB titleScreen ()
  3. DECLARE SUB inputPath ()
  4. titleScreen
  5. 'InputPath**************************************************************
  6. mustBeLessThan:
  7.  
  8. LOCATE 10, 10
  9. COLOR 15
  10. PRINT "Please enter the filename"
  11. LOCATE 11, 10
  12. PRINT "of the file you'd like to"
  13. LOCATE 12, 10
  14. PRINT "create."
  15. INPUT fileName$
  16. IF fileName$ = "EXIT" OR fileName$ = "exit" OR fileName$ = "Exit" THEN SYSTEM
  17. IF LEN(fileName$) > 12 THEN CLS : GOTO mustBeLessThan
  18. CLS
  19.  
  20.  
  21. 'WhereBegin***********************************************************
  22. SCREEN 2
  23. PRINT "Please move the cursor to where you want your picture's"
  24.     PRINT "drawing to begin. Use the arrow keys to move the cursor"
  25.     PRINT "and press the space bar to begin there. (Press any key)"
  26. go2: go2$ = INKEY$
  27. IF go2$ = "" THEN GOTO go2
  28.  
  29. SCREEN 7
  30.        col = 0
  31.        row = 0
  32.        PSET (0!, 0!), 4
  33. redoit:
  34.        mover$ = INKEY$
  35.        IF mover$ = "" THEN GOTO redoit
  36.        PSET (col, row), 0
  37.        IF mover$ = CHR$(0) + "H" AND row > 0 THEN row = row - 1
  38.        IF mover$ = CHR$(0) + "P" AND row < 199 THEN row = row + 1
  39.        IF mover$ = CHR$(0) + "K" AND col > 0 THEN col = col - 1
  40.        IF mover$ = CHR$(0) + "M" AND col < 319 THEN col = col + 1
  41.        PSET (col, row), 4
  42.        IF mover$ = CHR$(32) THEN GOTO begin2
  43.        GOTO redoit
  44. begin2:
  45.     OPEN fileName$ FOR OUTPUT AS #1
  46.     PRINT #1, "SCREEN 7"
  47.     PRINT #1, "PSET ("; col; ","; row; "), 0"
  48.     PRINT #1, "DRAW "; CHR$(34); "";
  49.     PSET (col, row), 0
  50. 'Go!**************************************************************************
  51.    
  52. 'First, the variables:
  53.     egaColor = 1
  54.     howLong = 1
  55.     colorBar = 1
  56.  
  57. begin:
  58.  
  59.     pixel$ = INKEY$
  60.     IF pixel$ = "" THEN GOTO begin
  61. '*****************************************************************************
  62.     IF pixel$ = CHR$(32) THEN GOTO moveit
  63.     IF pixel$ = CHR$(27) THEN SYSTEM
  64.     IF pixel$ = "f" OR pixel$ = "F" THEN GOTO fill
  65. '*****************************************************************************
  66.     IF pixel$ = CHR$(9) AND colorBar = 1 THEN colorBar = 2: GOTO begin
  67.     IF pixel$ = CHR$(9) AND colorBar = 2 THEN colorBar = 1: GOTO begin
  68.     IF colorBar = 1 AND pixel$ = "1" THEN egaColor = 1: GOTO coloring
  69.     IF colorBar = 1 AND pixel$ = "2" THEN egaColor = 2: GOTO coloring
  70.     IF colorBar = 1 AND pixel$ = "3" THEN egaColor = 3: GOTO coloring
  71.     IF colorBar = 1 AND pixel$ = "4" THEN egaColor = 4: GOTO coloring
  72.     IF colorBar = 1 AND pixel$ = "5" THEN egaColor = 5: GOTO coloring
  73.     IF colorBar = 1 AND pixel$ = "6" THEN egaColor = 6: GOTO coloring
  74.     IF colorBar = 1 AND pixel$ = "7" THEN egaColor = 7: GOTO coloring
  75.     IF colorBar = 1 AND pixel$ = "8" THEN egaColor = 8: GOTO coloring
  76.     IF colorBar = 1 AND pixel$ = "9" THEN egaColor = 9: GOTO coloring
  77.     IF colorBar = 1 AND pixel$ = "0" THEN egaColor = 0: GOTO coloring
  78.     IF colorBar = 2 AND pixel$ = "0" THEN egaColor = 10: GOTO coloring
  79.     IF colorBar = 2 AND pixel$ = "1" THEN egaColor = 11: GOTO coloring
  80.     IF colorBar = 2 AND pixel$ = "2" THEN egaColor = 12: GOTO coloring
  81.     IF colorBar = 2 AND pixel$ = "3" THEN egaColor = 13: GOTO coloring
  82.     IF colorBar = 2 AND pixel$ = "4" THEN egaColor = 14: GOTO coloring
  83.     IF colorBar = 2 AND pixel$ = "5" THEN egaColor = 15: GOTO coloring
  84. '*****************************************************************************
  85.     IF pixel$ = "=" OR pixel$ = "+" AND howLong < 6 THEN howLong = howLong + 1: GOTO begin
  86.     IF pixel$ = "-" OR pixel$ = "_" AND howLong > 1 THEN howLong = howLong - 1: GOTO begin
  87. '*****************************************************************************
  88.     IF pixel$ = CHR$(0) + "H" AND howLong = 1 THEN DRAW "U1": PRINT #1, "U1";
  89.     IF pixel$ = CHR$(0) + "P" AND howLong = 1 THEN DRAW "D1": PRINT #1, "D1";
  90.     IF pixel$ = CHR$(0) + "K" AND howLong = 1 THEN DRAW "L1": PRINT #1, "L1";
  91.     IF pixel$ = CHR$(0) + "M" AND howLong = 1 THEN DRAW "R1": PRINT #1, "R1";
  92.     IF pixel$ = CHR$(0) + "H" AND howLong = 2 THEN DRAW "U2": PRINT #1, "U2";
  93.     IF pixel$ = CHR$(0) + "P" AND howLong = 2 THEN DRAW "D2": PRINT #1, "D2";
  94.     IF pixel$ = CHR$(0) + "K" AND howLong = 2 THEN DRAW "L2": PRINT #1, "L2";
  95.     IF pixel$ = CHR$(0) + "M" AND howLong = 2 THEN DRAW "R2": PRINT #1, "R2";
  96.     IF pixel$ = CHR$(0) + "H" AND howLong = 3 THEN DRAW "U3": PRINT #1, "U3";
  97.     IF pixel$ = CHR$(0) + "P" AND howLong = 3 THEN DRAW "D3": PRINT #1, "D3";
  98.     IF pixel$ = CHR$(0) + "K" AND howLong = 3 THEN DRAW "L3": PRINT #1, "L3";
  99.     IF pixel$ = CHR$(0) + "M" AND howLong = 3 THEN DRAW "R3": PRINT #1, "R3";
  100.     IF pixel$ = CHR$(0) + "H" AND howLong = 4 THEN DRAW "U4": PRINT #1, "U4";
  101.     IF pixel$ = CHR$(0) + "P" AND howLong = 4 THEN DRAW "D4": PRINT #1, "D4";
  102.     IF pixel$ = CHR$(0) + "K" AND howLong = 4 THEN DRAW "L4": PRINT #1, "L4";
  103.     IF pixel$ = CHR$(0) + "M" AND howLong = 4 THEN DRAW "R4": PRINT #1, "R4";
  104.     IF pixel$ = CHR$(0) + "H" AND howLong = 5 THEN DRAW "U5": PRINT #1, "U5";
  105.     IF pixel$ = CHR$(0) + "P" AND howLong = 5 THEN DRAW "D5": PRINT #1, "D5";
  106.     IF pixel$ = CHR$(0) + "K" AND howLong = 5 THEN DRAW "L5": PRINT #1, "L5";
  107.     IF pixel$ = CHR$(0) + "M" AND howLong = 5 THEN DRAW "R5": PRINT #1, "R5";
  108.     IF pixel$ = CHR$(0) + "H" AND howLong = 6 THEN DRAW "U10": PRINT #1, "U10";
  109.     IF pixel$ = CHR$(0) + "P" AND howLong = 6 THEN DRAW "D10": PRINT #1, "D10";
  110.     IF pixel$ = CHR$(0) + "K" AND howLong = 6 THEN DRAW "L10": PRINT #1, "L10";
  111.     IF pixel$ = CHR$(0) + "M" AND howLong = 6 THEN DRAW "R10": PRINT #1, "R10";
  112.     GOTO begin
  113. '*****************************************************************************
  114. coloring:
  115.     IF egaColor = 0 THEN DRAW "C0"
  116.     IF egaColor = 1 THEN DRAW "C1"
  117.     IF egaColor = 2 THEN DRAW "C2"
  118.     IF egaColor = 3 THEN DRAW "C3"
  119.     IF egaColor = 4 THEN DRAW "C4"
  120.     IF egaColor = 5 THEN DRAW "C5"
  121.     IF egaColor = 6 THEN DRAW "C6"
  122.     IF egaColor = 7 THEN DRAW "C7"
  123.     IF egaColor = 8 THEN DRAW "C8"
  124.     IF egaColor = 9 THEN DRAW "C9"
  125.     IF egaColor = 10 THEN DRAW "C10"
  126.     IF egaColor = 11 THEN DRAW "C11"
  127.     IF egaColor = 12 THEN DRAW "C12"
  128.     IF egaColor = 13 THEN DRAW "C13"
  129.     IF egaColor = 14 THEN DRAW "C14"
  130.     IF egaColor = 15 THEN DRAW "C15"
  131.     PRINT #1, "C"; egaColor; "";
  132.     GOTO begin
  133. moveit:
  134.     DIM wholeScreen(1 TO 10000)
  135.     GET (0!, 0!)-(319!, 199!), wholeScreen
  136.     PSET (159!, 99!), 0
  137.     col = 159
  138.     row = 99
  139. moving:
  140.     move$ = INKEY$
  141.     PSET (col, row), 12
  142.     PSET (col, row), 14
  143.     IF move$ = "" THEN GOTO moving
  144.     IF move$ = CHR$(0) + "H" AND row > 0 THEN row = row - 1
  145.     IF move$ = CHR$(0) + "P" AND row < 199 THEN row = row + 1
  146.     IF move$ = CHR$(0) + "K" AND col > 0 THEN col = col - 1
  147.     IF move$ = CHR$(0) + "M" AND col < 319 THEN col = col + 1
  148.     IF move$ = CHR$(32) THEN GOTO done
  149.     PSET (col, row), 12
  150.     PSET (col, row), 14
  151.     GOTO moving
  152. done:
  153.     PUT (0!, 0!), wholeScreen, PSET
  154.     PSET (col, row), 0
  155.     PRINT #1, "BM"; col; ","; row; "";
  156.     GOTO begin
  157. fill:
  158.     DIM wholeScreen2(1 TO 10000)
  159.     GET (0!, 0!)-(319!, 199!), wholeScreen2
  160.     PSET (159!, 99!), 0
  161. moving2:
  162.     move2$ = INKEY$
  163.     PSET (col, row), 12
  164.     PSET (col, row), 14
  165.     IF move2$ = "" THEN GOTO moving2
  166.     IF move2$ = CHR$(0) + "H" AND row > 0 THEN row = row - 1
  167.     IF move2$ = CHR$(0) + "P" AND row < 199 THEN row = row + 1
  168.     IF move2$ = CHR$(0) + "K" AND col > 0 THEN col = col - 1
  169.     IF move2$ = CHR$(0) + "M" AND col < 319 THEN col = col + 1
  170.     IF move2$ = CHR$(32) THEN GOTO redoFill
  171.     PSET (col, row), 12
  172.     PSET (col, row), 14
  173.     GOTO moving2
  174.  
  175. redoFill:
  176.     LOCATE 1, 1
  177.     PRINT "Enter the color number"
  178.     PRINT "of the color the border"
  179.     PRINT "around the fill space is."
  180.     INPUT borderColor
  181.     IF borderColor < 0 OR borderColor > 15 THEN GOTO redoFill
  182.     PUT (0!, 0!), wholeScreen2, PSET
  183.     PAINT (col, row), egaColor, borderColor
  184.     PRINT #1, "P"; egaColor; ","; borderColor; "";
  185.     PSET (159!, 99!), 0
  186.     GOTO begin
  187. '*****************************************************************************
  188. '*****************************************************************************
  189. '*****************************************************************************
  190.  
  191. SUB titleScreen
  192. DEF SEG = 0
  193. CAPS% = PEEK(&H417)
  194. POKE &H417, (CAPS% XOR &H40)
  195. SCREEN 7
  196. 'The following title screen picture were created using this program.
  197. PSET (37, 88), 0
  198. DRAW "C 4 U10U10U10U10U10U10U10U10R10R10R10R10R10D10D10D10D10L10L10L10L10D10D10D10D10L10BM 103 , 88 C 4 U10U10U10U10U10U10U10U10R10D10D10D10D10D10D10D10D10L10BM 129 , 88 C 4 U10R10U10R10U10U10U10L10U10L10U10U10R10D10R10D10R10D10R10U10R10U10R10U10R10D10D10L10D10L10D10D10D10R10D10R10D10L10L10U10L10U10U10L10D10D10L10D10L10L10U1R1C12R1P12,4BM 214 , 88 C 4 U10U10U10U10U10U10U10U10R10R10R10D10L10L10D10D10D10R10D10L10D10D10R10R10R10D10L10L10L10L10"
  199. DRAW "BM 244 , 78 C 4 D10C 0 R10U10L10C 4 D1D1D1D1D1D1D1D1D1D1BM 259 , 88 C 4 U10U10U10U10U10U10U10U10R10D10D10D10D10D10D10D10R10R10D10L10L10L10U1R1C12R1P12,4BM 41 , 87 C 12 U10P 12 , 4 BM 108 , 86 P 12 , 4 P 12 , 4 BM 216 , 87 P 12 , 4 R10P 12 , 4 BM 69 , 100 C 10 D10D10D10D10U10U10U10U10R10R10D10L10L10BM 93 , 100 D10C 10 U10D10D10D10D10U10U10U10R10U10L10R10D10D10D10D10BM 106 , 100 C 10 D10C 10 C 0 U10C 10 C 0 R1C 10 D10D10D10D10"
  200. DRAW "BM 111 , 100 C 10 D10D10D10D10U10U10U10U10R10D10D10R10U10U10D10D10D10D10BM 135 , 100 C 10 R10R10L10D10D10D10D10BM 159 , 100 C 10 D10D10D10D10R10R10L10L10U10U10R10L10U10U10R10R10BM 183 , 100 C 10 D10D10D10D10U10U10U10U10R10R10D10L10L10R10D10R10D10D10BM 186 , 122 C 3 D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1D1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1R1U1BM 237 , 123 C 3 U1BM 244 , 122 C 3 D4D4D4D4D4D4D1D1"
  201. DRAW "BM 252 , 148 C 3 R1U1L1BM 261 , 122 C 3 D1L1D10D10D1D1D1D1R1D1R1R1R1R1R1R1R1R1R1R1R1R1R1R1R1U1R1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1U1L1U1L1L1L1L1L1L1L1L1L1L1L1L1L1L1BM 84 , 168 C 15 R10R10R10R10R10D1R1R10R10R10R10D1R1R10R10R10D1R1R10R10D1R1R10D4C 15 L5L5L2C 0 D1U1R1C 15 D1L10L10L1D1L10L10L10L1D1L10L10L10L10L1D1L10L10L10L10L10U10U1R1C6R1P 6 , 15 BM 239 , 172 C 7 U1R1U1R1R1R1R1R1R1R1D1R1R1D1R1D1R1R1R1D1R1R1R1L1L1L1L1D1L1L1R1R1R1L1L1L1D1L1D1L1L1D1L1L1L1L1L1L1L1U1L1U1U1U1U1R1C 8 R1P 8 , 7"
  202. DRAW "BM 256 , 175 C 1 D1D1L1D1D1D1L1D1D1D1R1D1R1D1R1U1R1U1U1R1U1U1L1U1L1U1L1U1U1R1D1D1L1D1D1L1D1D1R1D1R1U1U1U1R1D1L1L1U1U1U1U1U1U1U1L1L1L1D1L1L1D1L1L1D1L1R1U1R1U1R1U1R1U1R1L1U1L1U1L1U1L1D1R1D1R1D1L1L1U1L1U1U1L1L1D1R1BM 15 , 180 C 12 U1U1U1U1U1U1R1R1D1D1D1R1U1U1U1R1D1C 10 U1C 0 D1U1C 12 R1D1D1D1D1D1D1R1R1U1U1U1U1U1R1U1R1R1D1R1D1D1D1D1D1U1U1L1L1L1R1R1R1R1R1D1D1R1R1R1U1U1U1U1U1U1R1R1R1R1R1R1L1L1L1D1D1D1D1D1D1U1U1U1R1R1R1L1L1L1D1D1D1R1R1R1R1R1R1R1R1R1U1U1U1L1L1L1U1U1U1R1R1R1R1R1R1R1R1R1R1L1L1D1D1D1D1D1D1R1R1R1R1R1R1R1U1U1U1L1U1L1U1L1U1D1R1D1R1D1R1R1U1R1U1R1U1"
  203.  
  204.  
  205. go: go$ = INKEY$
  206. IF go$ = "" THEN GOTO go
  207. CLS
  208. END SUB
  209.  
  210.